home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Games / gtetris / patch-2.1.2 < prev    next >
Internet Message Format  |  1995-05-03  |  10KB

  1. From: azhao@cs.arizona.edu (Qiang Alex Zhao)
  2. Date: 19 Jan 93 19:22:10 GMT
  3. Newsgroups: alt.sources
  4. Subject: Generic Tetris Patch 2.1.1 to 2.1.2
  5.  
  6.  
  7. diff -c tetris.2.1.orig/README tetris.2.1/README
  8. *** tetris.2.1.orig/README    Mon Jan 18 12:02:06 1993
  9. --- tetris.2.1/README    Tue Jan 19 11:36:00 1993
  10. ***************
  11. *** 1,5 ****
  12.       GENERIC TETRIS
  13. !     ==============    Yet Another Tetris Game on X, V2.1.1
  14.   
  15.   
  16.   WHY ANOTHER?
  17. --- 1,5 ----
  18.       GENERIC TETRIS
  19. !     ==============    Yet Another Tetris Game on X, V2.1.2
  20.   
  21.   
  22.   WHY ANOTHER?
  23. ***************
  24. *** 9,14 ****
  25. --- 9,15 ----
  26.       Xlib -- no "toolkit" kind of thing. People have tested it on the
  27.       following platforms:
  28.   
  29. +     Bull DPX/2        System V    ?
  30.       DEC 5000        Ultrix 4.2A    X11R4
  31.       HP 700            HP-UX 8.07    X11R5
  32.       Iris 4D            IRIX 4.0.1    Motif
  33. ***************
  34. *** 59,64 ****
  35. --- 60,71 ----
  36.       ;o) When the tetris window loses its focus, it also goes to
  37.       "paused" mode except it doesn't iconify itself.
  38.   
  39. +     In previous versions, all number keys on the keypad work. Since I'm
  40. +     going to let the user fully configure things like key bindings,
  41. +     I'll only let those keys on the keypad with label '4', '5', '6'
  42. +     work for now, and do not include a key for "rotate
  43. +     counter-clockwise" (sorry :o).
  44.       Refer to the man page for detailed command line options.
  45.   
  46.   
  47. ***************
  48. *** 79,86 ****
  49.   HISTORY -- Oh no, not again: I failed my history course!
  50.   Well ... ACKNOWLEDGEMENTS
  51.   
  52. !     Since the days of V1.8, I have got many responses over the net.
  53. !     Thanks go to people who helped me in improving the program.
  54.   
  55.     [Jan 18, 93]  V2.1.1: Fixed a resource look-up bug found by Peter
  56.           Kabal <kabal@inrs-telecom.uquebec.ca>, and Imakefile
  57. --- 86,94 ----
  58.   HISTORY -- Oh no, not again: I failed my history course!
  59.   Well ... ACKNOWLEDGEMENTS
  60.   
  61. !   [Jan 19, 93]  V2.1.2: Improved "paused" mode - so it won't take too
  62. !         much CPU time - suggested by Philip JENNINGS
  63. !         <P.Jennings@frcl.bull.fr>.
  64.   
  65.     [Jan 18, 93]  V2.1.1: Fixed a resource look-up bug found by Peter
  66.           Kabal <kabal@inrs-telecom.uquebec.ca>, and Imakefile
  67. ***************
  68. *** 104,109 ****
  69. --- 112,120 ----
  70.           in case some system doesn't have them. Fixed block
  71.           clearing bug found by Benjamin Kroop
  72.           <bkroop@sunlab.cit.cornell.edu>.
  73. +     Since the days of V1.8, I have got many responses over the net.
  74. +     Thanks go to people who helped me in improving the program.
  75.   
  76.     [Nov 13, 92]  Black Friday -- V1.8.1: numerious minor changes. Made
  77.           score listing built in.
  78. Common subdirectories: tetris.2.1.orig/X11 and tetris.2.1/X11
  79. Common subdirectories: tetris.2.1.orig/bitmaps and tetris.2.1/bitmaps
  80. diff -c tetris.2.1.orig/playing.c tetris.2.1/playing.c
  81. *** tetris.2.1.orig/playing.c    Mon Jan 18 12:02:07 1993
  82. --- tetris.2.1/playing.c    Tue Jan 19 11:44:22 1993
  83. ***************
  84. *** 77,84 ****
  85.       } else {
  86.           resetTime = evGotNewThing(False);
  87.       }
  88. -     if (paused)
  89. -         resetTime = True;
  90.       }
  91.       /* never come to here */
  92.   }
  93. --- 77,82 ----
  94. ***************
  95. *** 90,96 ****
  96.       Bool            falldown;
  97.   {
  98.       XEvent          ev;
  99. !     Bool            gotNew = False;
  100.       char            buf[4];
  101.   
  102.       if (!paused && falldown)
  103. --- 88,94 ----
  104.       Bool            falldown;
  105.   {
  106.       XEvent          ev;
  107. !     Bool            gotNew = False, flag;
  108.       char            buf[4];
  109.   
  110.       if (!paused && falldown)
  111. ***************
  112. *** 98,237 ****
  113.   
  114.       while (XPending(display)) {
  115.       XNextEvent(display, &ev);
  116. !     switch (ev.type) {
  117. !     case KeyPress:
  118. !         if (!XLookupString(&ev.xkey, buf, 4, NULL, NULL))
  119. !         break;
  120.   
  121. !         switch (buf[0]) {
  122. !         case 'j':
  123. !         case 's':
  124. !         if (!paused)
  125. !             gotNew = moveOne(LEFT) || gotNew;
  126. !         break;
  127.   
  128. !         case 'k':
  129. !         case 'd':
  130. !         if (!paused)
  131. !             gotNew = moveOne(ROTATE) || gotNew;
  132. !         break;
  133.   
  134. !         case 'l':
  135. !         case 'f':
  136. !         if (!paused)
  137. !             gotNew = moveOne(RIGHT) || gotNew;
  138. !         break;
  139.   
  140. !         case ' ':
  141. !         case '\n':
  142. !         if (!paused)
  143. !             gotNew = moveOne(DROP) || gotNew;
  144. !         break;
  145.   
  146. !         case 'q':
  147. !         case 'Q':
  148. !         gameOver();
  149. !         break;
  150.   
  151. !         case '+':
  152. !         case '=':
  153. !         if (!paused)
  154. !             if (level < NUM_LEVELS - 1) {
  155. !             level++;
  156. !             drawStatus();
  157.               }
  158. !         break;
  159.   
  160. !         case '-':
  161. !         case '_':
  162. !         if (!paused)
  163. !             if (level > 0) {
  164. !             level--;
  165. !             drawStatus();
  166.               }
  167.           break;
  168.   
  169. !         case 'b':
  170. !         case 'B':
  171. !         beep = !beep;
  172. !         if (beep)
  173. !             XBell(display, BVOLUME);
  174.           break;
  175.   
  176. !         case 'p':
  177. !         case 'P':
  178. !         if (beep)
  179. !             XBell(display, BVOLUME);
  180. !         paused = !paused;
  181. !         if (paused) {
  182. !             /* "... Hi boss, I'm working hard as usual ..." */
  183.               banner(MSG_PAUSED);
  184. -             (void) XIconifyWindow(display, mainWin, screen_num);
  185. -         } else {
  186. -             clearNext();
  187. -             if (showNext)
  188. -             drawNext();
  189.           }
  190. -         XSync(display, False);
  191.           break;
  192.   
  193. !         case '\014':
  194. !         XClearWindow(display, mainWin);
  195. !         XClearWindow(display, blockWin);
  196. !         redrawAll();
  197. !         if (paused)
  198. !             banner(MSG_PAUSED);
  199. !         XSync(display, False);
  200.           break;
  201.   
  202. !         case 'n':
  203. !         case 'N':
  204. !         if (!paused) {
  205. !             showNext = !showNext;
  206. !             if (showNext) {
  207. !             drawNext();
  208. !             } else {
  209. !             clearNext();
  210. !             }
  211. !             XSync(display, False);
  212. !         }
  213.           break;
  214.   
  215. !         default:
  216. !         XBell(display, 0);
  217. !         XSync(display, False);
  218.           break;
  219.           }
  220. !         break;
  221. !     case UnmapNotify:
  222. !         paused = True;
  223. !         break;
  224. !     case FocusOut:
  225. !         if (firstFall) {
  226. !         paused = True;
  227. !         banner(MSG_PAUSED);
  228. !         }
  229. !         break;
  230. !     case Expose:
  231. !         if (ev.xexpose.count == 0) {
  232. !         redrawAll();
  233. !         if (paused)
  234. !             banner(MSG_PAUSED);
  235. !         }
  236. !         break;
  237. !     case ClientMessage:
  238. !         if ((Atom) ev.xclient.data.l[0] == delw)
  239. !         gameOver();
  240. !         break;
  241. !     case DestroyNotify:
  242. !         exit(0);
  243. !         break;
  244.       }
  245.       }
  246.   
  247. --- 96,244 ----
  248.   
  249.       while (XPending(display)) {
  250.       XNextEvent(display, &ev);
  251. !     flag = True;
  252. !     while (flag) {
  253. !         switch (ev.type) {
  254. !         case KeyPress:
  255. !         if (!XLookupString(&ev.xkey, buf, 4, NULL, NULL))
  256. !             break;
  257.   
  258. !         switch (buf[0]) {
  259. !         case 'j':
  260. !         case 's':
  261. !             if (!paused)
  262. !             gotNew = moveOne(LEFT) || gotNew;
  263. !             break;
  264.   
  265. !         case 'k':
  266. !         case 'd':
  267. !             if (!paused)
  268. !             gotNew = moveOne(ROTATE) || gotNew;
  269. !             break;
  270.   
  271. !         case 'l':
  272. !         case 'f':
  273. !             if (!paused)
  274. !             gotNew = moveOne(RIGHT) || gotNew;
  275. !             break;
  276.   
  277. !         case ' ':
  278. !         case '\n':
  279. !             if (!paused)
  280. !             gotNew = moveOne(DROP) || gotNew;
  281. !             break;
  282.   
  283. !         case 'q':
  284. !         case 'Q':
  285. !             gameOver();
  286. !             break;
  287.   
  288. !         case '+':
  289. !         case '=':
  290. !             if (!paused)
  291. !             if (level < NUM_LEVELS - 1) {
  292. !                 level++;
  293. !                 drawStatus();
  294. !             }
  295. !             break;
  296. !         case '-':
  297. !         case '_':
  298. !             if (!paused)
  299. !             if (level > 0) {
  300. !                 level--;
  301. !                 drawStatus();
  302. !             }
  303. !             break;
  304. !         case 'b':
  305. !         case 'B':
  306. !             beep = !beep;
  307. !             if (beep)
  308. !             XBell(display, BVOLUME);
  309. !             break;
  310. !         case 'p':
  311. !         case 'P':
  312. !             if (beep)
  313. !             XBell(display, BVOLUME);
  314. !             paused = !paused;
  315. !             if (paused) {
  316. !             /* "... Hi boss, I'm working hard as usual ..." */
  317. !             banner(MSG_PAUSED);
  318. !             (void) XIconifyWindow(display, mainWin, screen_num);
  319. !             } else {
  320. !             clearNext();
  321. !             if (showNext)
  322. !                 drawNext();
  323.               }
  324. !             XSync(display, False);
  325. !             break;
  326.   
  327. !         case '\014':
  328. !             XClearWindow(display, mainWin);
  329. !             XClearWindow(display, blockWin);
  330. !             redrawAll();
  331. !             if (paused)
  332. !             banner(MSG_PAUSED);
  333. !             XSync(display, False);
  334. !             break;
  335. !         case 'n':
  336. !         case 'N':
  337. !             if (!paused) {
  338. !             showNext = !showNext;
  339. !             if (showNext) {
  340. !                 drawNext();
  341. !             } else {
  342. !                 clearNext();
  343. !             }
  344. !             XSync(display, False);
  345.               }
  346. +             break;
  347. +         default:
  348. +             XBell(display, 0);
  349. +             XSync(display, False);
  350. +             break;
  351. +         }
  352.           break;
  353.   
  354. !         case UnmapNotify:
  355. !         paused = True;
  356.           break;
  357.   
  358. !         case FocusOut:
  359. !         if (firstFall) {
  360. !             paused = True;
  361.               banner(MSG_PAUSED);
  362.           }
  363.           break;
  364.   
  365. !         case Expose:
  366. !         if (ev.xexpose.count == 0) {
  367. !             redrawAll();
  368. !             if (paused)
  369. !             banner(MSG_PAUSED);
  370. !         }
  371.           break;
  372.   
  373. !         case ClientMessage:
  374. !         if ((Atom) ev.xclient.data.l[0] == delw)
  375. !             gameOver();
  376.           break;
  377.   
  378. !         case DestroyNotify:
  379. !         exit(0);
  380.           break;
  381.           }
  382. !         if (paused) {
  383. !         XNextEvent(display, &ev);
  384. !         flag = True;
  385. !         gotNew = True;        /* for reseting time */
  386. !         } else
  387. !         flag = False;
  388.       }
  389.       }
  390.   
  391. diff -c tetris.2.1.orig/tetris.c tetris.2.1/tetris.c
  392. *** tetris.2.1.orig/tetris.c    Mon Jan 18 12:02:06 1993
  393. --- tetris.2.1/tetris.c    Tue Jan 19 11:36:49 1993
  394. ***************
  395. *** 105,111 ****
  396.       char           *argv[];
  397.   {
  398.       (void) fprintf(stderr,
  399. !            "                 GENERIC TETRIS V2.1.1\n");
  400.       (void) fprintf(stderr,
  401.        "Copyright (C) 1992-93      Q. Alex Zhao, azhao@cs.arizona.edu\n");
  402.       (void) fprintf(stderr,
  403. --- 105,111 ----
  404.       char           *argv[];
  405.   {
  406.       (void) fprintf(stderr,
  407. !            "                 GENERIC TETRIS V2.1.2\n");
  408.       (void) fprintf(stderr,
  409.        "Copyright (C) 1992-93      Q. Alex Zhao, azhao@cs.arizona.edu\n");
  410.       (void) fprintf(stderr,
  411. diff -c tetris.2.1.orig/tetris.man tetris.2.1/tetris.man
  412. *** tetris.2.1.orig/tetris.man    Mon Jan 18 12:02:07 1993
  413. --- tetris.2.1/tetris.man    Tue Jan 19 11:37:02 1993
  414. ***************
  415. *** 1,4 ****
  416. ! .TH TETRIS 6 "18 Jan 1993, V2.1.1" "Univ of Arizona"
  417.   .SH NAME
  418.   GENERIC TETRIS \- Yet Another Tetris Game on X
  419.   .SH SYNOPSIS
  420. --- 1,4 ----
  421. ! .TH TETRIS 6 "19 Jan 1993, V2.1.2" "Univ of Arizona"
  422.   .SH NAME
  423.   GENERIC TETRIS \- Yet Another Tetris Game on X
  424.   .SH SYNOPSIS
  425. --
  426. = Qiang Alex Zhao                 ___       .             ______
  427.   Computer Science Dept          /   )     /|   )          __//  )
  428.   University of Arizona         /   /     /_|  / _        //    /_  _. ._
  429.   azhao@cs.arizona.edu         (__)(_o   /  (_(_(-'_)(   ((____/ (_(_(_(_)
  430.  
  431.